﻿#ifndef __GAF_LABLE_H__
#define __GAF_LABLE_H__

#include "GAF_Define.h"

namespace GAF
{
	struct LableStyle;
	//class Graphics -* ForEach
		class Lable;
}
typedef GAF::LableStyle			GAF_SLableStyle;
typedef GAF::Lable			GAF_CLable;

#include "GAF_Graphics.h"

#define GAF_LABLE_FONT_DEFAULT		"./res/CONSOLA.TTF"

namespace GAF
{
	/// 文字标签样式结构
	struct LableStyle
	{
		int**			nLayers;
		Colour**		cFronts;
		int			nWidth;
		int			nHeight;
	};

	/// 文字标签类
	class Lable : public Graphics
	{
	public:
		Lable();
		Lable(const _STRING strText);
		virtual ~Lable();

	public:
		DIM_ATTRIB(_STRING, Text);
		DIM_ATTRIB(_STRING, FontFile);
		DIM_ATTRIB(UINT, FontSize);
		DIM_ATTRIB(Colour, FrontColour);
		DIM_ATTRIB(Colour, BackColour);

	public:
		void			SetStyle(LableStyle& style);
		LableStyle*		GetStyle();
		void			CleanStyle();

	protected:
		LableStyle*		m_pStyle;

	};
}

#endif
